The present invention is directed generally to radiocommunication systems and methods and, more particularly, to systems and methods involving so-called supplementary services in radiocommunication systems.
The growth of commercial communication systems and, in particular, the explosive growth of cellular radiotelephone systems, have compelled system designers to search for ways to increase system capacity without reducing communication quality beyond consumer tolerance thresholds. One technique to achieve these objectives involved changing from systems, wherein analog modulation was used to impress data onto a carrier wave, to systems wherein digital modulation was used to impress the data on carrier waves. As these systems continue to develop and expand, subscribers' demand for additional services and functionality from their radiocommunication systems also continues to grow.
To provide some context within which to discuss the present invention, consider FIG. 1 which generally illustrates an exemplary radiocommunication system as specified by the Global System for Mobile communication (GSM) standard. In the network 100, a user 110 operates a mobile station (MS) 120 to access the GSM network 100. The basic operation of the GSM network is well-known and, therefore, unnecessary details related to this system are omitted. When the MS 120 enters an area 170 supported by a particular mobile switching center/visitor location register (MSC/VLR) 130, it will register therewith as a new visitor. As part of the registration process, the home location register (HLR) 150 associated with user 110 sends a copy of the relevant subscriber data, e.g., including the supplementary services to which this particular user has subscribed, to the MSC/VLR 130. The subscriber data is sent from HLR 150 to MSC/VLR 130 using an Insert Subscriber Data command in accordance with the MAP protocol defined by the GSM standards.
The GSM standard provides a wide range of supplementary services, e.g., call barring, call forwarding, etc. These services can be accessed by entering a specific text string associated with a particular supplementary service into MS 120. For example, if user 110 entered the text string **21*1234567# into MS 120 and pushed SEND, **21 would be recognized as being associated with the call forwarding supplementary service and would divert all incoming calls to the number 1234567.
Normally, when standard GSM supplementary services are managed from the mobile station, structured functional signaling is available. For example, if the user activates the supplementary service Call Forward, the mobile station recognizes the service code as being associated with the Call Forwarding supplementary service and invokes a standard signaling procedure towards the network. This is because the Call Forwarding supplementary service and its corresponding service code are defined by the GSM standard.
Since the supplementary services were introduced in stages into the GSM standard, there was a risk that a user would try to invoke a supplementary service that was not yet implemented, i.e., enter a service code which does not have a defined associated supplementary service. To deal with this situation the unstructured supplementary service data (USSD) operation was introduced into the GSM standard as a mechanism to contain the service code for delivery through the network to the node which supports the supplementary service which corresponds to the service code. Accordingly, the USSD operation is used when the mobile station does not recognize the service code which is entered by the user.
GSM technical standard 02.90 defines, inter alia, stage 1 standards for USSD, which portion of the GSM standard is herein incorporated by reference. An exemplary USSD man-machine interface string format is "*#SC*&lt;data&gt;#", wherein SC stands for the service code and the data field is a text string which can contain any number of characters. The aforementioned standard reserves three digits for the service code, wherein service codes in the range of 150-199 are referred to as visited public land mobile network (VPLMN) service codes and are intended to invoke applications located in the MSC where the mobile station is currently located, regardless of whether the MSC is located in the mobile station user's home PLMN (HPLMN). Service codes in the range of 100-149 are called HPLMN service codes and are intended to invoke applications which are located in the HLR associated with the user of the mobile station. Recent proposals to the GSM standard for USSD include replacing the alphanumerical service code with a binary coded network element identifier (NEI) to be used when routing USSD messages through the network.
The handling of the USSD operation according to conventional systems is illustrated in FIG. 1. The user 110 enters a service code and text string using a keypad (not shown) on MS 120. USSD Handler 127 in MS 120 analyzes the service code to determine whether the USSD Handler 127 recognizes the service code. If the service code is not recognized by USSD Handler 127, then a USSD message containing the service code and text string is sent from MS 120 to MSC/VLR 130. MSC/VLR 130 uses USSD Handler 137 to determine whether the service code is recognized, i.e., whether the service code is in the range of 150-199. If the USSD Handler 137 recognizes the service code, then the supplementary service application 135 (herein referred to as application) which corresponds to the service code is performed by MSC/VLR 130. If the service code is not recognized, then the MSC/VLR 130 passes the service code to HLR 150.
In HLR 150, USSD Handler 157 analyzes the service code to determine whether a corresponding application is defined within HLR 150. If USSD Handler 157 does not recognize the service code as one which corresponds to an application residing in HLR 150, the USSD Handler 157 determines to which external node the USSD message is directed. For simplicity of illustration, only a single external node 160 is illustrated. Accordingly, the USSD Handler 157 determines that the USSD message is directed to external node 160, and sends the USSD message to the node. The external node 160 analyzes the service code in the USSD message and invokes the application residing in the external node which corresponds to the service code. For a more detailed description of the afore described procedure, the interested reader should refer to U.S. Pat. No. 5,752,188 issued to .ANG.strom et al., which is herein incorporated by reference.
According to the above described system, a user 110 can access supplementary services in an external node 160. However, it is not possible to route USSD operations directly from MSC/VLR 130 to external nodes without first sending the message to the subscriber's HLR. This leads to increased capacity demands on the HLR. Further, conventional systems fail to provide geographically selective USSD service, i.e., a USSD application that is accessed via the same service code but behaves differently depending upon the location of the subscriber. Conventional systems also fail to store the applications used to support these services on a subscriber basis, i.e., as part of the data stored per subscriber in the VLR. Accordingly, a subscriber entering the same service code in different PLMNs will invoke different applications.